Most modern text input applications include predictive text and auto-correct functions to help the user efficiently and accurately input text into a document or message. These functions require a text prediction engine to generate candidates of what the user is likely to be intending or to have intended to type. The highest ranking candidates, for example with the highest probability of being what the user intended, can be displayed to the user for user selection in predictive text. Additionally or alternatively, the highest ranking candidates can be automatically inserted in response to a spacebar or other predetermined input in auto-correct functionality.
Sometimes text prediction engines does not accurately predict what the user intended to type. In this case, unwanted candidates may be displayed for user selection in predictive text or an unwanted correction may be made automatically. When this happens the user has to go back and manually edit the incorrect text. In the extreme case, the user might have to delete the entire composing text and start again from scratch, entering each character one by one.
With these disadvantages in mind, it can be appreciated that there is a need to improve the user experience when the text prediction engine has not provided helpful candidates after a first user attempt.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known techniques.